System.register(['aurelia-path'], function (_export) {
'use strict';
var relativeToFile, TemplateDependency, TemplateRegistryEntry;
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; Iif ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { Eif (protoProps) defineProperties(Constructor.prototype, protoProps); Iif (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
return {
setters: [function (_aureliaPath) {
relativeToFile = _aureliaPath.relativeToFile;
}],
execute: function () {
TemplateDependency = function TemplateDependency(src, name) {
_classCallCheck(this, TemplateDependency);
this.src = src;
this.name = name;
};
_export('TemplateDependency', TemplateDependency);
TemplateRegistryEntry = (function () {
function TemplateRegistryEntry(id) {
_classCallCheck(this, TemplateRegistryEntry);
this.id = id;
this.template = null;
this.dependencies = null;
this.resources = null;
this.factory = null;
}
TemplateRegistryEntry.prototype.setTemplate = function setTemplate(template) {
var id = this.id,
useResources,
i,
ii,
current,
src;
this.template = template;
useResources = template.content.querySelectorAll('require');
this.dependencies = new Array(useResources.length);
if (useResources.length === 0) {
return;
}
for (i = 0, ii = useResources.length; i < ii; ++i) {
current = useResources[i];
src = current.getAttribute('from');
if (!src) {
throw new Error('<require> element in ' + this.id + ' has no "from" attribute.');
}
this.dependencies[i] = new TemplateDependency(relativeToFile(src, id), current.getAttribute('as'));
if (current.parentNode) {
current.parentNode.removeChild(current);
}
}
};
TemplateRegistryEntry.prototype.setResources = function setResources(resources) {
this.resources = resources;
};
TemplateRegistryEntry.prototype.setFactory = function setFactory(factory) {
this.factory = factory;
};
_createClass(TemplateRegistryEntry, [{
key: 'templateIsLoaded',
get: function () {
return this.template !== null;
}
}, {
key: 'isReady',
get: function () {
return this.factory !== null;
}
}]);
return TemplateRegistryEntry;
})();
_export('TemplateRegistryEntry', TemplateRegistryEntry);
}
};
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL2xvYWRlci9zcmMvdGVtcGxhdGUtcmVnaXN0cnktZW50cnkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O3NCQUVhLGtCQUFrQixFQU9sQixxQkFBcUI7Ozs7Ozs7O29DQVQxQixjQUFjOzs7QUFFVCx3QkFBa0IsR0FDbEIsU0FEQSxrQkFBa0IsQ0FDakIsR0FBRyxFQUFFLElBQUksRUFBQzs4QkFEWCxrQkFBa0I7O0FBRTNCLFlBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQ2YsWUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7T0FDbEI7O29DQUpVLGtCQUFrQjs7QUFPbEIsMkJBQXFCO0FBQ3JCLGlCQURBLHFCQUFxQixDQUNwQixFQUFFLEVBQUM7Z0NBREoscUJBQXFCOztBQUU5QixjQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNiLGNBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLGNBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBQ3pCLGNBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0FBQ3RCLGNBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCOztBQVBVLDZCQUFxQixXQWlCaEMsV0FBVyxHQUFBLHFCQUFDLFFBQVEsRUFBQztBQUNuQixjQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRTtjQUNaLFlBQVk7Y0FBRSxDQUFDO2NBQUUsRUFBRTtjQUFFLE9BQU87Y0FBRSxHQUFHLENBQUM7O0FBRXRDLGNBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0FBQ3pCLHNCQUFZLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM1RCxjQUFJLENBQUMsWUFBWSxHQUFHLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQzs7QUFFbkQsY0FBRyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQztBQUMzQixtQkFBTztXQUNSOztBQUVELGVBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFDO0FBQy9DLG1CQUFPLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLGVBQUcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDOztBQUVuQyxnQkFBRyxDQUFDLEdBQUcsRUFBQztBQUNOLG9CQUFNLElBQUksS0FBSywyQkFBeUIsSUFBSSxDQUFDLEVBQUUsK0JBQTRCLENBQUM7YUFDN0U7O0FBRUQsZ0JBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxrQkFBa0IsQ0FDM0MsY0FBYyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFDdkIsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FDM0IsQ0FBQzs7QUFFRixnQkFBRyxPQUFPLENBQUMsVUFBVSxFQUFDO0FBQ3BCLHFCQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN6QztXQUNGO1NBQ0Y7O0FBOUNVLDZCQUFxQixXQWdEaEMsWUFBWSxHQUFBLHNCQUFDLFNBQVMsRUFBQztBQUNyQixjQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUM1Qjs7QUFsRFUsNkJBQXFCLFdBb0RoQyxVQUFVLEdBQUEsb0JBQUMsT0FBTyxFQUFDO0FBQ2pCLGNBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ3hCOztxQkF0RFUscUJBQXFCOztlQVNaLFlBQUU7QUFDcEIsbUJBQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7V0FDL0I7OztlQUVVLFlBQUU7QUFDWCxtQkFBTyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQztXQUM5Qjs7O2VBZlUscUJBQXFCOzs7dUNBQXJCLHFCQUFxQiIsImZpbGUiOiIvVXNlcnMvRWlzZW5iZXJnRWZmZWN0L0RvY3VtZW50cy9HaXRIdWIvVGhlIER1cmFuZGFsIFByb2plY3QvYXVyZWxpYS9sb2FkZXIvc3JjL3RlbXBsYXRlLXJlZ2lzdHJ5LWVudHJ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtyZWxhdGl2ZVRvRmlsZX0gZnJvbSAnYXVyZWxpYS1wYXRoJztcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlRGVwZW5kZW5jeSB7XG4gIGNvbnN0cnVjdG9yKHNyYywgbmFtZSl7XG4gICAgdGhpcy5zcmMgPSBzcmM7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVSZWdpc3RyeUVudHJ5IHtcbiAgY29uc3RydWN0b3IoaWQpe1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLnRlbXBsYXRlID0gbnVsbDtcbiAgICB0aGlzLmRlcGVuZGVuY2llcyA9IG51bGw7XG4gICAgdGhpcy5yZXNvdXJjZXMgPSBudWxsO1xuICAgIHRoaXMuZmFjdG9yeSA9IG51bGw7XG4gIH1cblxuICBnZXQgdGVtcGxhdGVJc0xvYWRlZCgpe1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlICE9PSBudWxsO1xuICB9XG5cbiAgZ2V0IGlzUmVhZHkoKXtcbiAgICByZXR1cm4gdGhpcy5mYWN0b3J5ICE9PSBudWxsO1xuICB9XG5cbiAgc2V0VGVtcGxhdGUodGVtcGxhdGUpe1xuICAgIHZhciBpZCA9IHRoaXMuaWQsXG4gICAgICAgIHVzZVJlc291cmNlcywgaSwgaWksIGN1cnJlbnQsIHNyYztcblxuICAgIHRoaXMudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICB1c2VSZXNvdXJjZXMgPSB0ZW1wbGF0ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3JlcXVpcmUnKTtcbiAgICB0aGlzLmRlcGVuZGVuY2llcyA9IG5ldyBBcnJheSh1c2VSZXNvdXJjZXMubGVuZ3RoKTtcblxuICAgIGlmKHVzZVJlc291cmNlcy5sZW5ndGggPT09IDApe1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvcihpID0gMCwgaWkgPSB1c2VSZXNvdXJjZXMubGVuZ3RoOyBpIDwgaWk7ICsraSl7XG4gICAgICBjdXJyZW50ID0gdXNlUmVzb3VyY2VzW2ldO1xuICAgICAgc3JjID0gY3VycmVudC5nZXRBdHRyaWJ1dGUoJ2Zyb20nKTtcblxuICAgICAgaWYoIXNyYyl7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgPHJlcXVpcmU+IGVsZW1lbnQgaW4gJHt0aGlzLmlkfSBoYXMgbm8gXCJmcm9tXCIgYXR0cmlidXRlLmApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRlcGVuZGVuY2llc1tpXSA9IG5ldyBUZW1wbGF0ZURlcGVuZGVuY3koXG4gICAgICAgIHJlbGF0aXZlVG9GaWxlKHNyYywgaWQpLFxuICAgICAgICBjdXJyZW50LmdldEF0dHJpYnV0ZSgnYXMnKVxuICAgICAgKTtcblxuICAgICAgaWYoY3VycmVudC5wYXJlbnROb2RlKXtcbiAgICAgICAgY3VycmVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGN1cnJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFJlc291cmNlcyhyZXNvdXJjZXMpe1xuICAgIHRoaXMucmVzb3VyY2VzID0gcmVzb3VyY2VzO1xuICB9XG5cbiAgc2V0RmFjdG9yeShmYWN0b3J5KXtcbiAgICB0aGlzLmZhY3RvcnkgPSBmYWN0b3J5O1xuICB9XG59XG4iXX0= |